﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MvcApplication1.Models
{
    public class RepositorioPartidos : RepositorioBase, MvcApplication1.Models.IRepositorioPartidos
    {
        public IQueryable<Partido> TodosPartidos()
        {
            return db.Partidos;
        }

        public Partido GetPartido(int idPartido)
        {
            return db.Partidos.SingleOrDefault(d => d.IDPartido == idPartido);
        }

        public void AgregarPartido(Partido partido)
        {
            db.Partidos.InsertOnSubmit(partido);
        }

        public void EliminarPartido(Partido p)
        {
            db.Partidos.DeleteOnSubmit(p);
        }


        public void AgregarPartidos(IEnumerable<Partido> partidos)
        {
            db.Partidos.InsertAllOnSubmit(partidos);
        }


        public IQueryable<Partido> PartidosJugados()
        {
            return from partido in db.Partidos
                   where partido.Fecha < DateTime.Now
                   orderby partido.Fecha
                   select partido;
        }
     
        public IQueryable<Partido> ProximosPartidos()
        {
            return from partido in db.Partidos
                   where partido.Fecha > DateTime.Now
                   orderby partido.Fecha
                   select partido;
        }

        public List<Partido> PartidosPorFecha(Liga l, int IDFecha)
        {
            List<Partido> retorno = new List<Partido>();
            foreach (Partido p in l.Partidos.ToList())
            {
                if (p.IDFecha == IDFecha)
                    retorno.Add(p);
            }
            return retorno;
        }
    }
}